home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / mail / mh / contrib / jpeek / rmf < prev    next >
Text File  |  1992-08-08  |  2KB  |  48 lines

  1. #! /bin/sh
  2. # $Header: /home/jerry/.bin/RCS/rmf,v 1.3 92/08/09 23:26:34 jerry mh_contrib $
  3. ###    rmf - front-end to MH rmf command; tries to stop MH from trashing symlinks
  4. ##
  5. ##    THE rmf IN MH 6.7.2 (AND PROBABLY OTHERS) WON'T CHECK TO SEE WHETHER A
  6. ##    "FOLDER" IS REALLY A SYMBOLIC LINK TO ANOTHER FOLDER.  IT REMOVES ALL
  7. ##    THE MESSAGES FROM THE FOLDER THAT THE LINK POINTS TO, THEN GIVES UP!
  8. ##    THIS FRONT-END TESTS BEFORE IT STARTS THE REAL rmf; IF YOU'RE TRYING
  9. ##    TO REMOVE A SYMLINK, IT TELLS YOU AND ABORTS.
  10. ##
  11. #    PUT THIS SCRIPT SOMEWHERE IN YOUR $PATH AHEAD OF THE MH BINARY DIRECTORY.
  12. #
  13. #    TABSTOPS IN THIS CODE ARE SET AT 4.
  14. #
  15. #    USE AT YOUR OWN RISK.  SEEMS TO WORK, BUT IT'S YOUR RESPONSIBILITY!
  16. #    PLEASE TELL ME ABOUT BUGS AND FIXES: Jerry Peek, jerry@ora.com
  17.  
  18. mhdir=/usr/local/mh        # WHERE MH BINARIES LIKE folder AND rmf LIVE
  19.  
  20. echo "NOTE: Using front-end $0." 1>&2    # SHOW THIS SCRIPT'S NAME
  21.  
  22. # GRAB FOLDER NAME:
  23. for arg
  24. do
  25.     case "$arg" in
  26.     [@+]*)
  27.         if [ -z "$folder" ]
  28.         then
  29.             folder="$arg"
  30.         else
  31.             echo "`basename $0` aborting: '$arg'?  Only one folder at a time." 1>&2
  32.             exit 1
  33.         fi
  34.         ;;
  35.     esac
  36. done
  37.  
  38. # GET PATH TO FOLDER.  (DEFAULTS TO CURRENT FOLDER.)
  39. folpath="`$mhdir/mhpath $folder`" || exit 1
  40. # NOT ALL testS TEST SYMLINKS.  FAKE IT; TEST ls -l FOR "lrwx..." OUTPUT:
  41. lsout="`/bin/ls -ld $folpath`" || exit 1
  42. case "$lsout" in
  43. "")    echo "`basename $0` aborting: '/bin/ls -ld $folpath' bombed?" 1>&2;;
  44. l*)    echo "`basename $0` aborting: $folpath is a symbolic link!?!" 1>&2;;
  45. *)    exec $mhdir/rmf ${1+"$@"} ;; # WORKAROUND FOR "$@" PROBLEMS IN SOME SHELLS
  46. esac
  47. exit 1    # ALWAYS AN ERROR IF GET HERE:  exec FAILED OR WRONG case MATCHED.
  48.